// Niektre podstawowe operacje na katalogach

#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    NSString          *dirName = @"testdir";
    NSString          *path;
    NSFileManager     *fm;

    // Utworzenie egzemplarza menedera plikw

    fm = [NSFileManager defaultManager];

    // Sprawdzenie biecego katalogu

    path = [fm currentDirectoryPath];
    NSLog (@"cieka do biecego katalogu: %@", path);

    // Utworzenie nowego katalogu

    if ([fm createDirectoryAtPath: dirName withIntermediateDirectories: YES
              attributes: nil error: NULL] == NO) {
            NSLog (@"Nie mona utworzy katalogu!");
            return 1;
    }

    // Zmiana nazwy nowego katalogu

    if ([fm moveItemAtPath: dirName toPath: @"newdir" error: NULL] == NO) {
        NSLog (@"Zmiana nazwy katalogu nie powioda si!");
        return 2;
    }

    // Zmiana na nowy katalog

    if ([fm changeCurrentDirectoryPath: @"newdir"] == NO) {
        NSLog (@"Zmiana katalogu nie powioda si!");
        return 3;
    }

    // Sprawdzenie i wywietlenie biecego katalogu roboczego

    path = [fm currentDirectoryPath];
    NSLog (@"cieka do biecego katalogu: %@", path);

    NSLog (@"Wszystkie operacje zostay zakoczone powodzeniem!");

    [pool drain];
    return 0;
}